<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        class Dog {
            static type = '狗子';
            static fn() {}
        }

        // [] == ![]


        // ![]    []->true   ![] -> false


        // [] == false

        // 比较运算符   转数字
        // [] -> 0   false -> 0



        // 在对象中   
        //    键名只能是字符串
        //    无序性



        // Map  
        //    键名可以是任意类型
        //       如果键名是引用数据类型的时候，一般无法单独使用键名
        //    有序性
        //    NaN当做了一个值  NaN === NaN


        const m = new Map();

        m.set([1, 2, 3], 1);
        console.log(m);
        // console.log(m.get([1, 2, 3]));   // undefined???????   地址不一样

        m.forEach((v, key) => {
            console.log(key)
        })



        // map是有有序性   --- 也是一种类似数组的存在   
        //  二维数组中的值  键值对的形式   键名可以是任意类型


        let mm = new Map([[1, 1], [2, 2], [3, 3]]);
        console.log(mm)


        // let a = {};//{}.toString()=[object object]
        // let b = { 'age': 12 };
        // let c = {}
        // c[a] = 1;
        // c[b] = 2;
        // console.log(c[a]);
        // console.log(c[b]);
        // // c={'[object object]':2}

        // console.log([]==![]);//     []==0

        // // a:1,b:2
        // let map = new Map([[a,1],[b,2]])
        // console.log(map);

        let map = new Map();
        let str = 'qq';
        let obj = { 'age': 10 };
        let arr = [1, 2, 3];
        const fn = function () { };
        map.set(str, 1);//建立
        map.set(obj, 2);
        map.set(arr, 3);
        map.set(fn, 4);
        map.set(NaN, 5);
        const y = Number('kk')
        console.log(map.get(y));
        console.log(map);
        // console.log(map.get(str)); //获取
        // map.delete(NaN)
        // console.log(map);//删除
        // map.clear()
        // console.log(map);
        map.forEach((value, key) => {
            console.log(value, key);
        })

        // console.log(map.has(str));


    </script>
</body>

</html>